This invention in general relates to global positioning system (GPS) receivers and, more particularly, to a system and method for a scalable and reconfigurable GPS receiver for a client device.
The global positioning system (GPS) is a constellation of satellites that transmits navigation information via radio signals. Receivers that are able to receive and process these radio signals may calculate position and time. The satellites of the GPS constellation broadcast two BPSK modulated signals at L-band, 1575.42 megahertz (L1) and 1227.6 megahertz (L2). The modulated signals include pseudorandom noise codes and data. The L1 signal carrier is modulated in quadrature with both a clear acquisition code (CA code) and a precise code (P code).
Conventional GPS receivers need to track at least four satellites of the GPS constellation in order to compute a GPS receiver""s position and time. An almanac is stored in the GPS receiver to help identify visible satellites and to track satellite orbits. Locally generated pseudorandom noise codes are generated within the GPS receiver and compared to the received satellite signals. From the compared signals, the GPS receiver generates measurement data that reflects travel times of the received satellite signals. Knowing the travel times of the satellite signals allows the GPS receiver to compute distances between each satellite and the GPS receiver. The GPS receiver may then compute a position solution.
In the past, GPS receivers have a dedicated microcomputer with GPS specific hardware components and software components. The microcomputer typically includes a microprocessor, memory and other peripherals such as a universal asynchronous receiver/transmitter (UART) on a single chip. GPS specific hardware typically down converts and de-spreads the GPS satellite signals. The software components are typically dedicated to GPS functionality such as tracking satellites, generating measurement data, and computing a position solution. Other software functions may include satellite visibility alerts and computing satellite orbits.
On the commercial side, GPS receivers may be made and sold as modules by a GPS manufacturer and integrated into an OEM client device (such as a phone or personal digital assistant (PDA)). A need exists for relocate-able software functions for GPS receiver modules that are designed for being installed into client devices. In particular, the software in a GPS receiver used in one client device may need to be configured differently from another type of client device. A GPS receiver (sold as a module) whose architecture and design is flexible for different types of client devices (and different OEMs) would result in a lower cost because smaller memory sizes may be used within the GPS receiver. A smaller memory size may be used because the customer may specifically configure the number and type of software functions that are best suited for storage in the GPS receiver and those best suited for storage in the client device. Existing GPS receivers do not provide this flexibility and hence low-cost features.
Accordingly, there is a need to provide a GPS receiver that is flexible for different types of client devices. This lowers the cost of the GPS receiver because smaller memory sizes may be used within the GPS receiver. It is, therefore, desirable to provide a GPS receiver system and method to overcome or minimize most, if not all, of the preceding problems.